package com.ivc.info.service;

import java.util.List;

import com.ivc.info.dto.base.ProductDto;

/**
 * 商品
 * 
 * @author hedongzhou
 * 
 */
public interface ProductService {

	/**
	 * 查询商品
	 * 
	 * @param productNo
	 *            商品编号
	 * @return
	 */
	public ProductDto get(String productNo);

	/**
	 * 查询商品总数
	 * 
	 * @param productDto
	 * @return
	 */
	public int count(ProductDto productDto);

	/**
	 * 查询商品列表
	 * 
	 * @param productDto
	 * @return
	 */
	public <T extends ProductDto> List<T> query(T productDto);

	/**
	 * 获取产品名称
	 * 
	 * @param productNo
	 *            商品编号
	 * @return
	 */
	public String getProductName(String productNo);

	/**
	 * 新增商品
	 * 
	 * @param productDto
	 * @return
	 */
	public ProductDto save(ProductDto productDto);

	/**
	 * 修改商品
	 * 
	 * @param productDto
	 * @return
	 */
	public ProductDto update(ProductDto productDto);

	/**
	 * 新增商品同时新增库存
	 * 
	 * @param productDto
	 * @return
	 */
	public ProductDto saveAndStock(ProductDto productDto);

}
